草庐IT

c++ - WinAPI DestroyWindow 不工作

全部标签

c - Win32 - 在创建窗口之前拦截窗口的更好方法

我正在尝试自动化外部Windows应用程序。目标是在不显示任何事件窗口/启动画面且不从其他应用程序窃取焦点的情况下使此应用程序最小化启动。我用C编写了一个小程序,它在循环中调用EnumWindows()并使用ShowWindow()来最小化所需的窗口。它非常快,在80%的情况下都有效。不幸的是,有时应用程序窗口仍在显示并在短时间内窃取焦点。拦截窗口的更好(确定)方法是什么?使用SetWindowsHookExHook是唯一的选择吗? 最佳答案 您是否尝试过使用STARTUPINFOstructure的wShowWindow成员?你传

windows - 如何让 F# 脚本文件和其他脚本语言像 Windows 中的 .exe、.cmd 和 .bat 文件一样工作

可以配置F#脚本文件,以便可以直接调用它们而无需直接指定脚本运行程序应用程序及其文件扩展名,并可以通过命令PATH环境变量访问。具体步骤如下:使用Windows资源管理器将特定脚本引擎设置为脚本文件类型扩展名的默认“打开方式”程序将脚本扩展附加到PathExt环境变量,这将把它归类为可执行文件可选地,将包含脚本的目录路径包含到WindowsPath环境变量中我的问题:当您不直接调用它的运行器应用程序时,如何将参数传递给脚本。 最佳答案 下面提供了一种简单的技术,用于配置您的Windows系统以将F#作为与cmd和批处理文件同等的脚本

c - 自动检测 C 中的操作系统并处理其特定的换行符

有没有办法检测编译C代码以处理文本文件中特定换行符的操作系统?例如,我在Windows机器上编译我的代码,它应该使用\r\n作为文本文件中的换行符,在Linux上它应该只使用\n。我需要这个程序来读取二进制文本文件并将文件的子字符串与其他字符串匹配。这应该适用于Windows和Linux。感谢您的帮助! 最佳答案 您不需要知道native存储格式。当读取一个文件时,您无法知道它是在Windows、Linux还是其他系统上创建的——它可能是在您正在使用的系统之外的另一个系统上创建的。当编写时,您的程序将使用操作系统的native库并输

c++ - SDL2 为假全屏切换 SDL_WINDOW_RESIZABLE 状态

要在没有模式集的情况下在SDL2中创建一个“假的”全屏窗口,您可以使用类似这样的方法创建一个无边框的最大化窗口。intidx=SDL_GetWindowDisplayIndex(g_displayWindow);SDL_Rectbounds;SDL_GetDisplayBounds(idx,&bounds);//SDL_SetWindowResizable(g_displayWindow,SDL_FALSE);SDL_SetWindowBordered(g_displayWindow,SDL_FALSE);SDL_SetWindowPosition(g_displayWindow,bo

windows - 让 FilePaths 在 Batch 中正常工作(写入文本文件)

我正在遍历大约300个目录并尝试在每个目录中创建一个文本文件。除了文件创建和后续编写之外,我的所有代码都有效。以下是我尝试写入文件的方式:(我应该注意到这段代码位于使用setlocalEnableDelayedExpansion的嵌套for循环中)if!q!==0(setmyString=%%fsetmyString=!myString:~0,-12!\temporary.txtecho!m!>>!myString!)其中%%f是我正在分析的另一个文本文件的路径,因此我必须缩短路径。此文本文件的名称在所有目录中都是统一的。我试过只使用:echo!myString!产生(正确的文件路径)

Windows cmd enabledelayedexpansion 不工作

我无法运行!var!此处描述的示例广告http://ss64.com/nt/delayedexpansion.html我得到的不是示例中描述的预期变量内容输出,而是文字“bangVARbang”输出,知道吗?C:\>SetlocalEnableDelayedExpansionC:\>Set_var=firstC:\>Set_var=second&Echo%_var%!_var!first!_var!谢谢。 最佳答案 因为您是在命令提示符下发出命令,所以您得到了意外的结果。通过将以下命令放入扩展名为.bat的文件中创建一个批处理文件,

c++ - Win32 文件 IO 工作但 fopen 等。阿尔。失败。这里发生了什么?

以前从来没有过。如果我使用fopen()等函数从磁盘读取文件,fopen会成功,但FILE*内容看起来有点NULL-ish。然后我尝试fseek(SEEK_END)并报告文件大小为0字节。如果我对CreateFile()、GetFileSize()、ReadFile()执行相同的操作,它就会起作用。相同的功能,相同的路径...VS2013社区版,Win7x64,64位编译。我测试的文件很小(从不超过400字节)。它们位于E:盘(E:\temp),这是一个本地分区。我有什么想法需要焊接我的电脑来解决这个问题吗?:)staticvoidLoadFile(conststd::string&p

c - 写入文件时获得不同的输出

我编写了一个程序来保存足球队的统计数据。我将统计数据保存在一个文件中,并将所有匹配项记录在另一个名为“record.txt”的文件中。在我的record.txt文件中,写的格式是:[opponentname][currentdate]我面临的问题是,有时我在一行中得到“对手姓名”“日期”,有时日期在新行中开始这是我得到的图像picofoutputfile这是我的代码time_trawtime;structtm*timeinfo;charbuffer[80];time(&rawtime);timeinfo=localtime(&rawtime);strftime(buffer,80,"%

c++ - 可移植可执行 DOS header 长度

我一直在研究这个图像来构建一个可移植的可执行文件:https://i.imgur.com/LIImg.jpg图像/演练表示PEheader从0x40(十进制为64)开始。但是,十六进制转储显示DOSheader的长度为32字节。每个字段是否以4个字节打包?查看WinNT.h中的IMAGE_DOS_HEADER,好像也不合适。它有16个2字节的字段,一个4长度的2字节数组,一个10长度的2字节数组,以及指向PE位置的4字节指针。无论你怎么看,它加起来都不等于64... 最佳答案 However,thehexadecimaldumpsa

c++ - 在 Windows 中使用 g++ 构建 C++ 文件不能作为 .bat 工作

早上好我是Windows的新用户(使用Linux已有10年),出于某种原因,我必须编译一个C++程序。我没有在Windows中进行调试的丰富经验,但我很想知道我做错了什么。我将MinGW与g++和不同的库一起使用,尤其是一个名为libjpeg的库。当我使用以下命令在PowerShell中编译和构建文件时,一切正常,我的C++代码给出了预期的结果。g++-oimageProcessingimageProcessing.cpp-lgdi32-Dgmic_use_jpeg-I'C:\GnuWin32\include'-L'C:\GnuWin32\lib'-ljpeg当我在.bat文件中或直接